package com.gjzhao.fmmall.config;

import io.minio.MinioClient;
import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Description: minio 图片存储服务配置
 * @Author: gjzhao
 * @Date Created in 2022-01-23 8:15 下午
 */
@Configuration
@Getter
@Setter
public class MinIoConfig {

    /** minio的访问路径 */
    @Value("${minio.endpoint}")
    private String endpoint;

    /** minio公钥 */
    @Value("${minio.accessKey}")
    private String accessKey;

    /** minio私钥 */
    @Value("${minio.secretKey}")
    private String secretKey;

    /** 存储桶名字 */
    @Value("${minio.bucketName}")
    private String bucketName;

    /**
     * 创建一个minio对象交由spring进行管理
     *
     * @return
     */
    @Bean
    public MinioClient minioClient() {
        //从application配置文件中获取url(端口)/accessKey/secretKey创建minio的客户端
        MinioClient minioClient = MinioClient.builder()
                                             .endpoint(endpoint)
                                             .credentials(accessKey, secretKey)
                                             .build();
        return minioClient;
    }

}
